home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-12-29 | 1.3 KB | 76 lines |
- 10 FOR I=1 TO 10:KEY I,"":NEXT
- 20 DIM A(25,25),B(25,25),B$(25,25),G(25)
- 30 CLS:PRINT"Welcome to Life!"
- 40 PRINT"How many live cells would you like to play with";
- 50 INPUT N
- 60 FOR R=1 TO N
- 70 PRINT"Input x coordinate of cell";R;
- 80 INPUT X
- 90 PRINT"Input y coordinate of cell";R;
- 100 INPUT Y
- 110 A(X,Y)=1
- 120 NEXT R
- 130 KEY(1) ON
- 140 Z=1
- 150 CLS
- 160 LOCATE 23,20:PRINT"PRESS F1 TO QUIT LIFE"
- 170 ON KEY(1) GOSUB 710
- 190 FOR Y=1 TO 20
- 200 FOR X=1 TO 20
- 210 G=0
- 220 IF A(X-1,Y-1)=1 THEN G=G+1
- 230 IF A(X,Y-1)=1 THEN G=G+1
- 240 IF A(X+1,Y-1)=1 THEN G=G+1
- 250 IF A(X-1,Y)=1 THEN G=G+1
- 260 IF A(X+1,Y)=1 THEN G=G+1
- 270 IF A(X-1,Y+1)=1 THEN G=G+1
- 280 IF A(X,Y+1)=1 THEN G=G+1
- 290 IF A(X+1,Y+1)=1 THEN G=G+1
- 300 IF A(X,Y)=0 THEN 320
- 310 IF A(X,Y)=1 THEN 330
- 320 B(X,Y)=0:IF G=3 THEN B(X,Y)=1:GOTO 335
- 330 B(X,Y)=1:IF G<2 OR G>3 THEN B(X,Y)=0
- 332 NEXT X
- 334 NEXT Y
- 335 GOSUB 590
- 336 FOR Y=1 TO 20
- 338 FOR X=1 TO 20
- 340 IF A(X,Y)=1 THEN GOSUB 550
- 350 IF A(X,Y)=0 THEN GOSUB 560
- 360 LOCATE 21,5:PRINT"GENERATION";Z
- 370 NEXT X
- 380 NEXT Y
- 390 Z=Z+1
- 400 GOSUB 650
- 410 FOR Y=1 TO 20
- 420 FOR X=1 TO 20
- 430 IF B(X,Y)=1 THEN GOSUB 570
- 440 IF B(X,Y)=0 THEN GOSUB 580
- 450 LOCATE 21,35:PRINT"GENERATION";Z
- 460 NEXT X
- 470 NEXT Y
- 480 FOR Y=1 TO 20
- 490 FOR X=1 TO 20
- 500 A(X,Y)=B(X,Y)
- 510 NEXT X
- 520 NEXT Y
- 530 GOTO 190
- 540 END
- 550 LOCATE X,Y:PRINT CHR$(178):RETURN
- 560 LOCATE X,Y:PRINT CHR$(176):RETURN
- 570 LOCATE X,Y+30:PRINT CHR$(178):RETURN
- 580 LOCATE X,Y+30:PRINT CHR$(176):RETURN
- 590 FOR Y=1 TO 20
- 600 FOR X=1 TO 20
- 610 LOCATE X,Y:PRINT CHR$(255)
- 620 NEXT X
- 630 NEXT Y
- 640 RETURN
- 650 FOR Y=1 TO 20
- 660 FOR X=1 TO 20
- 670 LOCATE X,Y+30:PRINT CHR$(255)
- 680 NEXT X
- 690 NEXT Y
- 700 RETURN
- 710 CHAIN "b:games.bas"
-